Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.10.2019, 11:28
Интересующийся
Отправить личное сообщение для Wimko Посмотреть профиль Найти все сообщения от Wimko
 
Регистрация: 05.10.2019
Сообщений: 13

Как сделать обработку динамически созданной формы через ajax?
Всем привет. Появилась задачка, нужно сделать обработчик динамически созданной формы, которая формируется из базы данных.... Проблема заключается в том, что не известно сколько будет записей.... и нужно сделать обработчик через ajax добавление новых записей в таблице бд массово для всех пользователей....
Честно сказать, даже не знаю с чего начать и как лучше сделать....
Предполагаю...
в Форме на каждого клиента есть всего 2 поля, так сказать активность пользователя.... поля форматом текст...
Думал может сделать id каждого поля динамическим например "pole1_(и добавить id пользователя)", "pole2_(и добавить id пользователя)" и т.д. тогда примерно понятно что будем считывать поля с определенным id и отправлять в обработчик... вот тут и проблема.... как мне понять сколько есть таких полей, чтобы сформировать POST запрос и создать нужное количество отправляемых переменных в ajax? А потом как понять сколько пришло данных в обработчик пост параметром.... может конечно не особо понятно объяснил, но мне бы хоть примерно понять как это реализовать, если есть другие идеи и способы буду рад услышать...
Ответить с цитированием
  #2 (permalink)  
Старый 08.10.2019, 11:37
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Ничего не понятно, в чем проблема, в именовании полей или обработке запроса?

По именованию можно сказать, что именовать ключи как pole1_id, это самое худшее что можно придумать. Если серверным языком является РНР, то все упрощается, именовать поля нужно как name="имя_поля[id_пользователя]", тогда на сервере под первичными ключами, которыми будут являться идентификаторы пользователя, будет массив имен его полей и их значений.
Ответить с цитированием
  #3 (permalink)  
Старый 08.10.2019, 12:12
Интересующийся
Отправить личное сообщение для Wimko Посмотреть профиль Найти все сообщения от Wimko
 
Регистрация: 05.10.2019
Сообщений: 13

Сообщение от laimas Посмотреть сообщение
Ничего не понятно, в чем проблема, в именовании полей или обработке запроса?

По именованию можно сказать, что именовать ключи как pole1_id, это самое худшее что можно придумать. Если серверным языком является РНР, то все упрощается, именовать поля нужно как name="имя_поля[id_пользователя]", тогда на сервере под первичными ключами, которыми будут являться идентификаторы пользователя, будет массив имен его полей и их значений.
Проблема в том как мне уникальные, как бы значения N-Го числа полей, передать в обработчик, который бы принимал N-ое количество значений и дальше делал действия. Динамически создать не проблема, проблема передать всё это через ajax и получить в PHP.


Ну хорошо, например я создам поля с ключами в имени , как мне неограниченное количество этих полей с nema="название[id]" передать в php обработчик ajax-ом, а в php получить все эти данные и записать их в переменные?

Последний раз редактировалось Wimko, 08.10.2019 в 12:14.
Ответить с цитированием
  #4 (permalink)  
Старый 08.10.2019, 12:22
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от Wimko
неограниченное количество этих полей с nema="название[id]" передать в php
Обычно, отправить форму, в которой это событие обработать, запретив действие по умолчанию, получить поля формы и отправить асинхронным запросом. В чем проблема? Если с самой формой, то например, ее поля:

<input name="a[1]" value="2" />
<input name="b[1]" value="3" />
<input name="a[2]" value="4" />
<input name="b[2]" value="5" />


на сервере будут массивом

Array
(
    [a] => Array
        (
            [1] => 2
            [2] => 4
        )
    [b] => Array
        (
            [1] => 3
            [2] => 5
        )
)


то есть каждое имя поля содержит массив значений для каждого юзера.
Ответить с цитированием
  #5 (permalink)  
Старый 08.10.2019, 16:37
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,140

Как не путать теплое с мягким когда все смешалось в кучу =).
Именно из за похожих случаев и придумали концепцию инкапсуляции и как следствие из этого появилось ООП.
Проще всего создать объект в свойствах которого будет вся необходимая информация сам массив с полями и передать его с помощью AJAX/JSON.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как передать массив объектов через ajax finlolo AJAX и COMET 8 16.01.2019 17:34
как сделать задержку вывода данных через ajax ghost666 AJAX и COMET 2 27.05.2018 16:21
Как сделать задержку отправки формы на javascript? Akimserg Общие вопросы Javascript 12 19.10.2015 13:15
Как вы относитесь к наркоманам? Maxmaxmaximus7 Оффтопик 7 05.02.2014 13:29
Как сделать так чтобы в место value использовать url чтобы картинка менялось через зн sarik Общие вопросы Javascript 9 22.02.2013 13:24